﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;

namespace HomeGuardBand.Models
{
    public class Event : IEntity
    {

        #region Constructor

        public Event()
        {
            //we have to initialize all lists
            Compositions = new Collection<Composition>();
            Members = new Collection<Member>();
        }

        #endregion

        [Key]
        public int Id { get; set; }
        public bool Active { get; set; }

        public string Name { get; set; }
        public string Description { get; set; }

        public DateTime StartDate { get; set; }
        public DateTime EndDate { get; set; }
        
        public virtual ICollection<Member> Members { get; set; }
        public virtual ICollection<Composition> Compositions { get; set; }
        public virtual Calendar Calendar { get; set; }
        public virtual EventType EventType { get; set; }
        public virtual Location Location { get; set; }
    }
}